#ifndef CLOTHMATERIAL_H
#define CLOTHMATERIAL_H

#include "string"

/// @file ClothMaterial.h
/// @brief represents a cloth material with damping and stiffness params
/// @author Perseedoss Rajiv
/// @version 1.0
/// @date 12.04.11
/// Revision History :
/// Initial Version 12.04.11
/// @class ClothMaterial
/// @brief the cloth material object read from config file

class ClothMaterial
{
public:
    /// @brief ctor
    /// @param[in] _name name of the material
    /// @param[in] _textureName  texture filename
    /// @param[in] _stiffness stiffness of material
    /// @param[in] _damping damping coefficient of material
    ClothMaterial
            (
                const std::string _name,
                const std::string _textureName,
                const float _stiffness,
                const float _damping
            );

    /// @brief return the name of material
    inline std::string getName() const { return m_name; }

    /// @brief return the texture filename of material
    inline std::string getTextureName() const { return m_textureName; }

    /// @brief return the stiffness of material
    inline float getStiffness() const { return m_stiffness; }

    /// @brief return the damping coefficient of material
    inline float getDamping() const { return m_damping; }

private:
    /// @brief name of material
    std::string m_name;

    /// @brief filename of texture
    std::string m_textureName;

    /// @brief stiffness of material
    float m_stiffness;

    /// @brief damping of material
    float m_damping;

};

#endif // CLOTHMATERIAL_H
